feat(runtime): add Qwen3.8-Max native WebSearch - #3685
Conversation
|
Live Token Plan WebSearch smoke passed on exact feature head Execution path: the PR branch production Observed result:
Representative returned sources:
The temporary smoke runner was removed after the run and retained no credential material. |
|
Additional live boundary probe on exact head Observed:
This proves the dependency patch fixes the common Open Responses request/stream transport for DeepSeek as well, but it does not make DeepSeek production-ready yet:
Therefore DeepSeek should stay disabled until the action union and tests cover all three shapes and a normal routed smoke passes. The temporary probe runner was removed and retained no credential material. |
|
Shared mapper follow-up pushed in DeepSeek capability enablement remains out of this Alibaba PR and is isolated in #3694 / #3689. |
Route Qwen3.8 Max Token Plan sessions to provider-executed Responses web search, and extend the pinned open-responses adapter with the published web_search request and web_search_call stream shapes. Generated-by: OpenAI Codex
Map search, open_page, and find_in_page into the canonical provider-executed WebSearch output instead of collapsing every hosted action to search. Generated-by: OpenAI Codex
Regenerate the temporary WebSearch compatibility patch against 2.0.34 while preserving the upstream reasoning-summary mapping. Retirement is tracked by vercel/ai#19933 and #19939. Generated-by: OpenAI Codex
Account for the temporary Apache-2.0 WebSearch compatibility patch in the source release inventory. Generated-by: OpenAI Codex
3a74825 to
3ae8960
Compare
|
#3685 has been rebuilt after #3255 merged and is now on exact head Key changes:
Exact-head verification is green: fresh The Token Plan China live smoke also passed on the rebased tree: This remains Draft while #19939 is awaiting upstream review. Once its bare-extension codec is published, the dependency patch and legal/README entries should be deleted before this PR is marked ready. |
Summary
Adds the first Alibaba Harness-tool slice from #3163: provider-native
WebSearchforqwen3.8-maxon the Alibaba Token Plan China and international access paths.WebSearchdescriptor to the documented Responsestools: [{ type: "web_search" }]request shape;web_search_callitems into provider-executed call/result events, preservingsearch,open_page, andfind_in_pageactions, generated queries, source URLs, andusage.x_tools;Refs #3163
This PR intentionally does not close #3163.
web_extractor, code interpreter, image-search tools, and broader Qwen 3.7 Responses routing remain follow-up slices.Upstream dependency and patch retirement
The generic
@ai-sdk/open-responses@2.0.34adapter drops provider-defined tools and does not decode bareweb_search_callitems. This Draft carries a narrow dependency patch for current verification only.The missing public seam is tracked upstream:
AI SDK 2.0.35 introduced explicit extension codecs, but they accept only normative namespaced wire types. #19939 adds an explicit fail-closed bare extension codec for documented implementation types such as
web_searchandweb_search_call; its CI is green and it is awaiting upstream review.Retirement rule: once that API is merged and released, replace this patch with a package-local
Experimental_OpenResponsesBareExtension, prove request/stream/replay behavior against the unpatched package, and deletepatches/@ai-sdk+open-responses+*.patchplus itsLICENSE/patch README entries.Verification
Exact head
3ae89609a, rebased directly ontomainatbd951aa88:npm ciapplies@ai-sdk/open-responses@2.0.34cleanly and reports 0 vulnerabilities;build:testand workspace typecheck passed;npm run format:check,npm run lint,npm run check:asf-headers, andgit diff --checkpassed;Live Token Plan evidence
A protected live smoke on the exact rebased tree used production
AiSdkBackend + ModelAdapter + getAIModel, the configured Token Plan China connection, andqwen3.8-max. The credential was read only in process and was never printed, placed in command arguments, persisted, or attached.store:false, exactly oneweb_searchtool descriptor, one provider-executed call/result pair, and a grounded final answer ending in the requested sentinel;store:false, completed from durable prior context with the requested replay sentinel;web_search_callitem was replayed in request 2, preserving the explicit fail-closed adapter boundary;end_turn; no local Tavily or ToolRuntime WebSearch implementation ran.Provider documentation:
Review focus
qwen3.8-max.AI use
OpenAI Codex assisted with protocol research, implementation, tests, upstream coordination, live verification, and PR drafting. The human contributor reviewed the scope and remains responsible for the contribution. The commits carry
Generated-by: OpenAI Codextrailers.Checklist
Does this PR entail a change in behavior?